/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tos.dekker;

/**
 *
 * @author Milos
 */

/* Klasa koja sadrzi promenljive za kontrolu*/
public class Variables 
{
    // Promenljiva koja prikazuje koji proces je na redu
    private int turn;
    // Niz koji cuva promenljive koje opisuju da li su
    // procesi zainteresovani za kriticnu sekciju
    private boolean [] wants;

    // Konstruktor
    public Variables()
    {
        turn = 0;
        wants = new boolean [2];
        wants [0] = false;
        wants [1] = false;
    }

    // geteri i seteri za promenljivu turn
    public int getTurn() {
        return turn;
    }

    public synchronized void setTurn(int turn) {
        this.turn = turn;
    }

    // geter na osnovu identifikacionog broja procesa
    public boolean getWant (int processID)
    {
        return wants [processID];
    }

    // seter na osnovu identifikacionog broja procesa
    public synchronized void setWant (int processID, boolean want)
    {
        wants [processID] = want;
    }
}
